<?php
class Extranet_SolicitacaoController extends AcessoRestritoController
{
	public function  indexAction(){
		
	}
        public function  novoAction(){
            $dao =  new Cliente();
            $cliente = $dao->_getNomeCliente($this->getIdCliente());
            if($this->getIdCliente() <=9)
                $idcliente = '0'.$this->getIdCliente();
            else
                $idcliente = $this->getIdCliente();
            $this->view->assign("idCliente",$idcliente);
            $this->view->assign("nomeCurto",$cliente['nomeCurto']);
                   
	}
        
	public function listaAction()
	{
		$this->_helper->viewRenderer->setNoRender();
		$dao  = new SolicitacaoAmostra();
                
                $dados = $dao->lista($this->_getAllParams(),$this->getIdCliente()); 
		$this->_response->setBody(Zend_Json::encode($dados)); 
		
	}
	
        public function vrfcamostraAction()
        {
            	$this->_helper->viewRenderer->setNoRender();
		$dao  = new Amostra();
                $id   = $this->_request->getParam('id');
                $dados = $dao->vrfcAmostra($id); 
		$this->_response->setBody(Zend_Json::encode($dados)); 
	
        }
        
        
        public function existeamostraAction()
        {
            	$this->_helper->viewRenderer->setNoRender();
		$dao  = new tempSolicitacaoAmostra();
                $idAmostra   = $this->_request->getParam('id');
                $idtemp = $this->_request->getParam('idtemp');
                $dados = $dao->_existeAmostra($idAmostra, $idtemp); 
		$this->_response->setBody(Zend_Json::encode($dados)); 
	
        }
        public function vrfcclienteAction()
        {
                 $dados = "";
            	$this->_helper->viewRenderer->setNoRender();
		$dao  = new Cliente();
                $id   = $this->_request->getParam('id');
		$dados = $dao->_getNomeCliente($id); 
		$this->_response->setBody(Zend_Json::encode($dados->nomeCurto)); 
	
        }
        
        public function getmaxAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new tempSolicitacaoAmostra();
            $dados = $dao->_getMaxIdTemp(); 
            $this->_response->setBody(Zend_Json::encode($dados)); 
        }
        
         public function getamostrasAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new tempSolicitacaoAmostra();            
            $idtemp      = $this->_request->getParam('idtemp');
            $dados = $dao->_getAmostras($idtemp,$this->_getAllParams()); 
            $this->_response->setBody(Zend_Json::encode($dados)); 
        }
         public function getinicialAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new Amostra();            
            $idtemp      = $this->_request->getParam('id');
            $dados = $dao->_getAmostra($idtemp); 
            $inicial =  $dados->inicial;
            $this->_response->setBody(Zend_Json::encode($inicial)); 
        }
        
        public function addamostraAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new Amostra();
            $id   = $this->_request->getParam('id');
            $inicial   = strtoupper($this->_request->getParam('inicial'));
            $idcliente   = $this->_request->getParam('cliente');
           
            
            $amostra = array($id,$inicial,$idcliente,$this->getIdLogin());
           
            $dados = $dao->add($amostra);
            $this->_response->setBody(Zend_Json::encode($dados));
        }
        
        public function addtempsolAction()
        {
            	$this->_helper->viewRenderer->setNoRender();
                $dao  = new tempSolicitacaoAmostra();
                
                $idAmostra   = $this->_request->getParam('idAmostra');
                $idtemp      = $this->_request->getParam('idTemp');
                $idcliente      = $this->_request->getParam('idCliente');
                $numColeta      = $this->_request->getParam('numColeta');
                
                $retorno = true;
               
                $dados = $dao->add($idtemp,$idAmostra,$numColeta,$idcliente);   
                
                if(!$dados)
                {
                  if($retorno)
                    $retorno = $dados;
                }
                
                $this->_response->setBody(Zend_Json::encode($retorno));
	
        }
        
        public function disableAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new SolicitacaoAmostra();
            $dados = $dao->del($this->_request->getParam('id'), $this->getIdCliente());
            
            $this->_response->setBody(Zend_Json::encode($dados)); 
        }
        
        public function removeamostraAction()
        {
            	$this->_helper->viewRenderer->setNoRender();
                $dao  = new tempSolicitacaoAmostra();
                $idAmostra   = $this->_request->getParam('id');
              
                $idtemp      = $this->_request->getParam('idtemp');
           
                $dados  = $dao->removeAmostra($idtemp, $idAmostra);
                $this->_response->setBody(Zend_Json::encode($dados));
	
        }
        
        public function deltempAction()
        {
            $this->_helper->viewRenderer->setNoRender();
            $dao  = new tempSolicitacaoAmostra();
            $id      = $this->_request->getParam('id');
            $dados  = $dao->del($id, $this->getIdCliente());
            $this->_response->setBody(Zend_Json::encode($dados));
        }
        
        public function addAction()
        {
                $retorno = true;
            	$this->_helper->viewRenderer->setNoRender();
                $daoS = new SolicitacaoAmostra();                
                $daoE  = new Exame();
                $daoC  = new Cliente();
                $dao  = new tempSolicitacaoAmostra();
                
                $exameList = array ();
                $idtemp      = $this->_request->getParam('id');
               
                
                $exames      = $this->_request->getParam('exames');
                $exameList = explode(',', $exames);
                 
                $cliente  = $daoC->_getCliente($this->getIdCliente());
                $maxSol   = $cliente->maxSolicitacao;
                $maxSol   = $maxSol+1;
               
                
                $dSolAmo = $dao->_getTempSolicitacao($idtemp,$this->getIdCliente());
                
               
                
                for($i = 0; $i < sizeof($exameList); ++$i)
                {
                    
                    foreach ($dSolAmo as $key => $value) {
                      $dados =   $daoS->add($maxSol,$value['idCliente'],$value['idAmostra'],$exameList[$i],$value['numColeta'],$this->getIdLogin());   
                    } 
                 
                    if(!$dados)
                    {
                        if($retorno)
                          $retorno = $dados;
                    }
                }
               
                if($retorno)
                {
                
                    $cliente->maxSolicitacao =  $maxSol;
                    $cliente->save();
                  
                }
                $this->_response->setBody(Zend_Json::encode($retorno));
	
        }
        
        
         

        public function getexamesAction()
	{
		$this->_helper->viewRenderer->setNoRender();
		$dao  = new Exame();
                $dados = $dao->_getExames($this->_getAllParams());//*** retorna todos os parametros 
		$this->_response->setBody(Zend_Json::encode($dados));//* echo json_enconde()
		
	}
        
       
        

	
	
	
	
}